首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏曾大稳的博客

    ffmpeg android 推送RTMP

    Nginx 搭建RTMP服务器 android端代码以及步骤 static int publish_file_stream(const char *input, const char *output env->GetStringUTFChars(output_, 0); //input: /storage/emulated/0/aaaaa/dst.mp4 //output: rtmp

    1.2K51发布于 2018-09-11
  • 来自专栏RTSP/RTMP直播相关

    Android平台实现屏幕数据采集并推送RTMP服务器

    )为例,介绍下如何采集编码推送RTMP数据到流媒体服务器。 系统要求:Android 5.0及以上系统。 推送的URL,并调用SartPublisher()接口,开始推送: //如果同时推送和录像,设置一次就可以 InitAndSetConfig(); if } } libPublisher.UnInitRtspServer(); super.onDestroy(); } 以上就是Android 平台数据采集、编码并推送的大概流程,感兴趣的开发者可参考下。

    1.4K00发布于 2020-06-14
  • 来自专栏RTMP推送

    Android平台RTMP推送模块的设计意义

    如何实现Android平台RTMP推送模块对接2005年,我们做Android平台RTMP推送模块的初衷,是为了满足传统行业如应急指挥、巡检等场景的低延迟视音频传输,达到远程指挥的目的。 做好了RTMP推送模块,发现现有的RTMP播放都不足以满足我们毫秒级的延迟诉求,继续自研框架,做了RTMP的直播播放器。本文以大牛直播SDK的Android平台RTMP直播推送模块为例。 Android平台RTMP推送模块功能设计:音频编码:AAC/SPEEX;视频编码:H.264、H.265;推流协议:RTMP;[音视频]支持纯音频/纯视频/音视频推送;[摄像头]支持采集过程中,前后摄像头实时切换 屏幕采集推送;支持自建标准RTMP服务器或CDN;支持断网自动重连、网络状态回调;支持实时动态水印;支持实时快照;支持降噪处理、自动增益控制;支持外部编码前音视频数据对接;支持外部编码后音视频数据对接; 数据源支持:支持采集推送摄像头、屏幕、麦克风、扬声器数据,以及编码前、编码后的音视频数据对接。性能优异:配合SmartPlayer播放器,实现毫秒级延迟体验,满足多种行业使用场景。

    45310编辑于 2024-09-26
  • 来自专栏RTSP/RTMP直播相关

    Android平台RTMP推送端实现外部数据对接推送和录像

    ​ 背景 好多开发者在做Android平台RTMP推送对接的同时,除了编码前的数据外,还有些外部编码数据推送诉求,他们希望外部的编码音视频数据不止可以实现RTMP推送,还可以同时在推送端实时录制下来,本文以我们 (官方)Android平台RTMP直播推送模块为例,介绍下外部数据对接流程和数据录制流程。 对接流程 开始推送 private boolean StartPush() { if (isPushing) return false; //relayStreamUrl = "rtmp libPublisher.SetSmartPublisherEventCallbackV2(publisherHandle, new EventHandePublisherV2()); return true; } 停止推送

    1.2K20发布于 2021-06-21
  • 来自专栏RTMP推送

    Android平台实现屏幕录制(屏幕投影)|音频播放采集|麦克风采集并推送RTMP或轻量级RTSP服务

    技术考量指标本文以大牛直播SDK Android同屏采集推送为例,介绍下我们前些年做Android同屏采集推送的时候,一些注意点:声明所需权限:在Android应用的AndroidManifest.xml 技术实现本文以大牛直播SDK的Android的SmartServicePublisherV2的同屏demo为例,Android采集计时器,编码打包分别启动RTMP推送和轻量级RTSP服务,Windows 需要注意的是,Android采集音频播放的audio,音频播放采集是依赖屏幕投影的,屏幕投影关闭后,音频播放也就采不到了。 ;支持Android屏幕采集推送;支持自建标准RTMP服务器或CDN;支持断网自动重连、网络状态回调;支持实时动态水印;支持实时快照;支持降噪处理、自动增益控制;支持外部编码前音视频数据对接;支持外部编码后音视频数据对接 总结以上是Android平台屏幕采集、音频播放声音采集、麦克风采集编码打包推送RTMP和轻量级RTSP服务的相关技术实现,做成高稳定低延迟的同屏系统,还需要有配套好的RTMP、RTSP直播播放器,整体部署

    74410编辑于 2024-08-16
  • 来自专栏RTSP/RTMP直播相关

    如何实现RTMP推送Android Camera2数据

    Camera2简介 在Google 推出Android 5.0的时候, Android Camera API 版本升级到了API2(android.hardware.camera2), 之前使用的API1 (android.hardware.camera)就被标为 Deprecated 了。 获取数据后对接RTMP推送: 通过OnImageAvailableListenerImpl 获取到原始数据,推送端以大牛直播SDK https://github.com/daniulive/SmarterStreaming / 的万能推送接口为例,获取数据后,调用SmartPublisherOnImageYUV420888() 完成数据传送,底层进行二次处理后,编码后传输即可。 Camera2介绍,和RTMP调用流程,感兴趣的可以自行学习。

    1.8K00发布于 2020-04-05
  • 来自专栏RTSP/RTMP直播相关

    Android平台RTMP直播推送模块技术接入说明

    ​技术背景大牛直播SDK跨平台RTMP直播推送模块,始于2015年,支持Windows、Linux(x64_64架构|aarch64)、Android、iOS平台,支持采集推送摄像头、屏幕、麦克风、扬声器 enhanced RTMP, SDK默认是开启enhanced RTMPRTMP推送URL设置SmartPublisherSetURL设置RTMP推送url编码前实时视频数据camera数据SmartPublisherOnCaptureVideoData 推送开始推送RTMPSmartPublisherStartPublisher启动RTMP推送停止推送RTMPSmartPublisherStopPublisher停止RTMP推送关闭推送实例关闭实例SmartPublisherClose GOP)、码率(bit-rate)设置;支持RTMP推送 live|record模式设置;支持前置摄像头镜像设置;支持软编码、特定机型硬编码;支持横屏、竖屏推送;支持Android屏幕采集推送;支持自建标准 接口调用详解本文以大牛直播SDK Android平台Camera2Demo为例,推送RTMP之前,可以先选择视频分辨率、软编还是硬编码,音频是AAC、SPEEX还是PCMA编码等基础设置,其他参数的设置

    1K10编辑于 2024-08-07
  • 来自专栏RTSP/RTMP直播相关

    Android平台RTSP轻量级服务|RTMP推送摄像头或屏幕之音频接口设计

    好多开发者在做Android平台录像或者RTSP轻量级服务、RTMP推送相关模块时,对需要设计哪些常用接口会心存疑惑,本文主要以大牛直播SDK(官方)为例,简单介绍下Android平台直播推送SDK所有音频相关的接口 实时静音,实时静音顾名思义,推送过程中,暂停音频推送 /** * Set mute or not during publish stream(设置实时静音) * 设置传远端数据,主要用于一对一环境下,拉流端拉到的audio,回调上来,通过推送端这个接口设置下去,完成整体的回音消除 /** * Set far end pcm data * * @param public native int SmartPublisherStopOutputEncodedData(long handle); 总结 细数下来,光audio相关的接口也有20个,可见开发个Android 平台RTMP直播推送模块多么麻烦,当然因为本文提到的RTMP推送,实际使用的公司或开发者群体比较大,如果只是项目需求,好多是用不到的,可以适当精简,做个小而美的模块,不失是个很好的选择。

    89320发布于 2021-04-20
  • 来自专栏RTMP推送

    Android平台如何实现低延迟屏幕采集编码打包并推送RTMP服务或轻量级RTSP服务

    ​技术背景好多开发者希望搞清楚,Android平台同屏采集到编码推送RTMP的大概流程,简单来说,Android上采集屏幕数据,先进行audio和屏幕采集权限申请,包括在清单文件中声明权限和动态申请权限 推送 RTMP 流:选择 RTMP 库:Android 平台上有一些开源的 RTMP 推送库,也可以使用一些第三方的音视频 SDK,这些 SDK 通常已经集成了 RTMP 推送功能,使用起来更加方便。 以Android平台RTMP推送模块为例,我们主要实现了如下功能:音频编码:AAC/SPEEX;视频编码:H.264、H.265;推流协议:RTMP;[音视频]支持纯音频/纯视频/音视频推送;[摄像头] 、竖屏推送;支持Android屏幕采集推送;支持自建标准RTMP服务器或CDN;支持断网自动重连、网络状态回调;支持实时动态水印;支持实时快照;支持降噪处理、自动增益控制;支持外部编码前音视频数据对接; 设备支持硬编码,优先选择H.264硬编,如果是H.265硬编,需要RTMP服务器支持扩展H.265(或Enhanced RTMP)。都选择好后,设置RTMP推送的URL,点开始RTMP推送按钮即可。

    81310编辑于 2024-12-04
  • 来自专栏RTSP/RTMP直播相关

    Android平台RTMP多实例推送的几种情况探讨

    好多开发者提到,如何实现Android平台,多实例推送,多实例推送,有几种理解: 1. 多路编码,多个实例分别推送到不同的RTMP URL(如Android采集板卡同时接2路出去); 2. 同一路编码,多个实例分别推送到不同的RTMP URL(如推送到内网、外网不同的RTMP服务器); 3. 部分路编码、部分路对接编码后的H.264/AAC数据,多个实例分别推送到不同的RTMP URL(混合推)。 目前,市面上的大多设计,都不够灵活,以下以“Android回调编码后的音视频数据”为例,推送一路原始的编码后的RTMP数据出去,然后,编码后的数据,回调到上层,再启动一个新的Publisher实例,推到新的 (对应新的publisherHandle),音视频编码后的数据,通过新的实例,调用编码后的音视频数据接口,继续推RTMP出去,从而实现多实例推送目的。

    73640发布于 2020-06-01
  • 来自专栏RTSP/RTMP直播相关

    Android平台实现Unity3D下RTMP推送

    直接封装Android原生的屏幕采集工程,在unity提供接口,拿到屏幕权限后,获取屏幕数据并推送; 具体可以参考 https://cloud.tencent.com/developer/article ,介绍下Unity环境下的Android平台RTMP推流,数据采集在Unity完成,数据编码推送,调用大牛直播SDK(官方)Android平台RTMP直播推送SDK原生库对外二次封装的接口,高效率的实现 RTMP推送。 下图系Android平台Unity环境下采集屏幕,编码推送RTMP服务器,然后Windows平台播放器拉取RTMP流播放,为了方便看到延迟效果,特地在Android端的Unity窗口显示了当前时间,可以看到 } 总结 通过以上流程,可以实现Unity环境下屏幕或摄像机数据,毫秒级体验的RTMP推送和播放,感兴趣的开发者可酌情参考。

    1.1K30发布于 2021-06-08
  • 来自专栏RTSP/RTMP直播相关

    基于RTMP实现Linux|麒麟操作系统下屏幕|系统声音采集推送

    国产操作系统|Linux下RTMP同屏推送 在发布国产操作系统|Linux平台的RTMP直播推送SDK之前,大牛直播SDK(官方)的RTMP推送模块已稳定运行在Windows、Android和iOS平台几年了 相对Windows、Android和iOS平台,Linux在桌面采集等方面,资料非常少,数据采集可以采用调用XLib相关接口实现,本Demo实现的是Linux上实现桌面和系统声音采集,然后使用RTMP协议推出去的一个 \n"); } return true; } 推送接口封装 NT_HANDLE StartPush(NT_SmartPublisherSDKAPI* push_api, const std 推送RTMP播放为例,整体测试时延都在毫秒级,可满足像内网无纸化、教育同屏等场景需求。 Linux的RTMP推送接口,和Windows平台的相差无几,通用接口四个平台几乎一致,不存在集成难度。

    1.6K40发布于 2021-07-22
  • 来自专栏RTSP/RTMP直播相关

    Android平台如何实现Unity3D下RTMP推送

    关于屏幕采集,有两种方案: 1. 直接封装Android原生的屏幕采集工程,在unity提供接口,拿到屏幕权限后,获取屏幕数据并推送; 2. 本文以Android平台为例,介绍下Unity环境下的Android平台RTMP推流,数据采集在Unity完成,数据编码推送,调用大牛直播SDKAndroid平台RTMP直播推送SDK原生库对外二次封装的接口 ,高效率的实现RTMP推送。 下图系Android平台Unity环境下采集屏幕,编码推送RTMP服务器,然后Windows平台播放器拉取RTMP流播放,为了方便看到延迟效果,特地在Android端的Unity窗口显示了当前时间,可以看到 } 总结 通过以上流程,可以实现Unity环境下屏幕或摄像机数据,毫秒级体验的RTMP推送和播放,感兴趣的开发者可酌情参考。

    1.4K20发布于 2021-06-08
  • 来自专栏RTSP/RTMP直播相关

    Android平台音视频推送RTMP还是GB28181?

    随着无纸化会议、智慧教室、智能化硬件产品的普及,RTMP的技术方案发展一度非常好,有些无人机或智能机器人,都可以自带推送RTMP流数据,配合大牛直播SDK的RTMP低延迟播放器模块,可以实现毫秒级的技术体验 图片我们实现demo的时候,RTMP推送和GB28181都放到一起了,也就是说,可以同时使用RTMP推送和GB28181设备接入,也可以单独使用。 ;支持帧率、关键帧间隔(GOP)、码率(bit-rate)设置;支持RTMP推送 live|record模式设置;支持前置摄像头镜像设置;支持软编码、特定机型硬编码;支持横屏、竖屏推送;支持Android 屏幕采集推送;支持自建标准RTMP服务器或CDN;支持断网自动重连、网络状态回调;支持动态水印(文字、图片);支持降噪处理、自动增益控制;支持实时快照;支持实时静音和实时音量调节;支持录像功能扩展(录制 "); isPushingRtmp = true; } }停止RTMP推送//停止rtmp推送 private void stopPush() {

    65040编辑于 2023-05-26
  • 来自专栏RTSP/RTMP直播相关

    Android平台RTMP推送|轻量级RTSP服务能力封装代码实现

    ​好多开发者问我们,有没有针对Android平台RTMP直播推送、轻量级RTSP服务模块的进一步封装,可以更便捷的调用大牛直播SDK接口。 为此,我们分享下我们针对Android平台SmartPublisher做的二次封装代码:package com.daniulive.smartpublisher;import android.util.Log = 0; } public final boolean is_rtmp_publishing() { return is_rtmp_publishing_; } public final is_rtmp_publishing()) { Log.w(TAG, "it's not publishing rtmp, native_handle:" + get()); 推送或轻量级RTSP服务技术诉求。

    53800编辑于 2023-12-22
  • 来自专栏RTMP推送

    Android平台RTSP转RTMP推送之采集麦克风音频转发

    技术实现以大牛直播SDK的多路RTSP转RTMP推送模块为例,首先拉取RTSP流,把未解码的H.264/H.265、AAC/PCMA/PCMU数据回调上来,然后通过调用推送模块的编码后数据接口,同步转发出去 转推:通过RTMP直播推送SDK的编码后数据输入接口,把回调上来的数据,传给RTMP直播推送模块,实现RTSP数据流到RTMP服务器的转发;3. 多路RTMP/RTSP转RTMP推送模块功能支持:支持拉取rtmp流;支持拉取rtsp流;Windows支持本地flv文件转发(支持制定文件位置转发,或转发过程中seek);支持本地预览;支持转发过程中 ()) {stopPush();btnRTMPPusher.setText("推送RTMP");return;}Log.i(TAG, "onClick start push rtmp..") 平台RTSP转RTMP推送的demo界面,可以看到,这个demo,不是单纯的RTSP转RTMP推送的,还可以实现RTSP流获取后,回调上来解码后的数据,然后添加动态水印或其他处理后,把video数据二次编码推送出去

    39020编辑于 2024-10-30
  • 来自专栏RTSP/RTMP直播相关

    Unity3D下如何实现RTMP推送摄像头或屏幕数据(Windows平台)

    好多开发者提到,苦于在unity3d下实现RTMP直播推送,本次以大牛直播SDK(Github)的Windows平台RTMP推送模块(以推摄像头为例,如需推屏幕数据,设置相关参数即可)为例,介绍下unity3d 的RTMP推送集成。 、停止推送: public bool StartPublisher(String url) { if (CheckPublisherHandleAvailable ); } SmartPublishWinMono.cs 调用上述封装的代码即可,本地预览的话,拿到回调的RGB数据,在unity3d上层刷下即可,如下图: 经测试,unity3d下,RTMP 推送,配合RTMP播放端,依然可以实现毫秒级延迟的推拉流体验。

    1.7K10发布于 2020-06-10
  • 来自专栏RTSP/RTMP直播相关

    Linux平台屏幕|摄像头采集并实现RTMP推送两种技术方案探究

    ​ 技术背景随着国产化操作系统的推进,市场对国产化操作系统下的生态构建,需求越来越迫切,特别是音视频这块,今天我们讨论的是如何在linux平台实现屏幕|摄像头采集,并推送RTMP服务。 FFmpeg VS SmartPublisher今天我们探讨的是,两种技术选型下的linux平台同屏摄像头RTMP推送实现:FFmpeg技术方案在Linux平台上采集屏幕和摄像头内容,并将其推送RTMP 3 编写FFmpeg命令使用ffmpeg,你可以同时捕获屏幕和摄像头,并将它们合并到一个RTMP流中。 2015年,先后覆盖了Windows、Android、iOS、Linux平台的RTMP|RTSP的音视频推拉流模块。 Linux平台x64_64架构|aarch64架构RTMP直播推送模块功能支持如下:音频编码:AAC/SPEEX;视频编码:H.264;推流协议:RTMP;[音视频]支持纯音频/纯视频/音视频推送;支持

    50910编辑于 2024-09-06
  • 来自专栏RTSP/RTMP直播相关

    Android平台实现Camera2数据推送RTMP服务器

    Camera2架构 在Google 推出Android 5.0的时候, Android Camera API 版本升级到了API2(android.hardware.camera2), 之前使用的API1 to an Android device. 如何实现camera2数据对接RTMP推送: 通过OnImageAvailableListenerImpl 获取到原始数据,推送端以大牛直播SDK https://github.com/daniulive /SmarterStreaming/ 的万能推送接口为例,获取数据后,调用SmartPublisherOnImageYUV420888() 完成数据传送,底层进行二次处理后,编码后传输即可。 建议在将android.control.aeMode设置为OFF之前使用android.control.afTrigger锁定AF,或者在AE关闭时将AF模式设置为OFF。

    1.7K70发布于 2021-03-02
  • 来自专栏RTMP推送

    如何在Python下实现摄像头|屏幕|AI视觉算法数据的RTMP直播推送

    技术实现以Windows平台为例,我们实现的功能如下:Windows平台RTMP直播推送SDK音频编码:AAC/SPEEX;视频编码:H.264、H.265;推流协议:RTMP;[音视频]支持纯音频/纯视频 /音视频推送;[屏幕/摄像头]支持帧率、关键帧间隔(GOP)、码率(bit-rate)设置;[屏幕]支持屏幕裁剪,根据帧率和推送分辨率,自动推荐码流;[摄像头]支持摄像头选择、分辨率设置、帧率设置;[摄像头 ]摄像头支持水平反转、垂直反转、0° 90° 180° 270°旋转;[屏幕]支持DXGI采集设置、启/停用Aero;[音频]采集麦克风;[音频]采集扬声器;[预览]支持推送端实时预览;支持实时静音、取消静音 ;[对接服务器]支持自建标准RTMP服务器或CDN;支持断网自动重连、网络状态回调;屏幕和摄像头合成/多层合成;支持窗口采集(一般不建议使用);支持实时动态水印;支持实时快照;支持降噪处理、自动增益控制 通过合理配置和优化,可以实现稳定、高效的RTMP推流功能,满足各种直播应用场景的需求,特别是AI视觉年,相信Python下的低延迟的RTMP推送模块,会给AI视觉算法直播场景,带来更大的便利和革新,以上抛砖引玉

    95011编辑于 2025-03-12
领券